package edu.fasta.sisinfo2.juegos;

import edu.fasta.sisinfo2.poker.Carta;

public class CartaAlta implements Juego {
	private Carta carta;
	
	public CartaAlta(Carta cartaAlta){
		this.setCarta(cartaAlta);
	}
	
	public Juego compararJuego(EscaleraReal unaEscaleraReal){
		return unaEscaleraReal;
	}
	
	public Juego compararJuego(EscaleraColor unaEscaleraColor){
		return unaEscaleraColor;
	}
	
	public Juego compararJuego(Poker unPoker){
		return unPoker;
	}
	
	public Juego compararJuego(Full unFull){
		return unFull;
	}
	
	public Juego compararJuego(Color unColor){
		return unColor;
	}
	
	public Juego compararJuego(Escalera unaEscalera){
		return unaEscalera;
	}
	
	public Juego compararJuego(Trio unTrio){
		return unTrio;
	}
	
	public Juego compararJuego(DoblePar unDoblePar){
		return unDoblePar;
	}
	
	public Juego compararJuego(Par unPar){
		return unPar;
	}
	
	public Juego compararJuego(CartaAlta unaCartaAlta){
		
		if( ((((Carta) this.getCarta()).getPuntaje()) == 1 ) && ((((Carta) unaCartaAlta.getCarta()).getPuntaje()) != 1) ) { 
			return this;
		}else{
			if( ((((Carta) this.getCarta()).getPuntaje()) != 1 ) && ((((Carta) unaCartaAlta.getCarta()).getPuntaje()) == 1) ){
				return unaCartaAlta;
			}else{
				if ( ((((Carta) this.getCarta()).getPuntaje()) == 1 ) && ((((Carta) unaCartaAlta.getCarta()).getPuntaje()) == 1) ){
					System.out.println("Cartas altas empatadas en A");
					return null;
				}
					
			}
		}
		
		if( (((Carta) this.getCarta()).getPuntaje()) > (((Carta) unaCartaAlta.getCarta()).getPuntaje())){
			return this;
		}else{
			if ( (((Carta) this.getCarta()).getPuntaje()) < (((Carta) unaCartaAlta.getCarta()).getPuntaje())){
				return unaCartaAlta;
			}
		}
		System.out.println("Cartas altas empatadas...X");
		return null;
	}
	
	public int getValor(Juego unJuego) {
		return this.getCarta().getPuntaje();
	}

	public int compararJuego(Juego unJuego) {
		// TODO Auto-generated method stub
		return 0;
	}

	public Carta getCarta() {
		return carta;
	}

	public void setCarta(Carta carta) {
		this.carta = carta;
	}



	
}
